const { createClient } = require('redis');

async function testRedis() {
  // 创建 Redis 客户端
  const client = createClient({
    url: 'redis://localhost:6379'
  });

  // 连接错误处理
  client.on('error', (err) => console.log('Redis Client Error:', err));
  client.on('connect', () => console.log('Redis Client Connected'));

  try {
    // 连接到 Redis
    await client.connect();
    console.log('成功连接到 Redis');

    // 测试设置值
    await client.set('test_key', 'Hello Redis!');
    console.log('成功设置测试值');

    // 测试获取值
    const value = await client.get('test_key');
    console.log('获取到的值:', value);

    // 测试设置带过期时间的值
    await client.set('temp_key', 'This will expire', {
      EX: 10 // 10秒后过期
    });
    console.log('成功设置带过期时间的值');

    // 测试删除值
    await client.del('test_key');
    console.log('成功删除测试值');

    // 测试获取已删除的值
    const deletedValue = await client.get('test_key');
    console.log('获取已删除的值:', deletedValue);

    console.log('所有测试完成！');
  } catch (error) {
    console.error('测试过程中出错:', error);
  } finally {
    // 关闭连接
    await client.quit();
    console.log('Redis 连接已关闭');
  }
}

// 运行测试
testRedis(); 